﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Web.UI.WebControls;
using System.Web.UI;
using System.Web.UI.HtmlControls;

using AjaxControlToolkit;
using BizElements.Core;
using BizElements.BusinessLayer;

namespace BizElements.Web
{
    /// <summary>Represents bindings between <see cref="BizElements.BusinessLayer.IBusinessObject"/> and user interface controls.</summary>
    public interface IEntityBindingContext
    {
        #region Properties.

        /// <summary>Field bindings.</summary>
        IValueObjectBindingContext FieldBindings { get; set; }

        /// <summary>Parent entity bindings.</summary>
        IList<IParentBinding> ParentBindings { get; }

        /// <summary>Child colllection bindings.</summary>
        IList<IChildrenBinding> ChildrenBindings { get; }

        /// <summary>Complex property, ie. extension child entity, bindings.</summary>
        IList<IComplexPropertyBinding> ComplexPropertyBindings { get; }

        #endregion
    }
}
